// 类 类型：类的类型可以通过接口来实现
(() => {
    // 定义一个接口
    interface IFly {
        // 该方法没有任何的实现
        fly()
    }

    // 定义一个类，这个类的类型就是上面定义的接口(实际上也可以理解为，IFly接口约束了当前这个Person类)
    class Person implements IFly {
        // 实现接口中的方法
        fly() {
            console.log('我是超人，我可以飞');

        }
    }

    // 实例化对象
    const person = new Person()
    person.fly()

    // 定义一个接口
    interface ISwim {
        swim()
    }

    class Person2 implements IFly, ISwim {
        fly() {
            console.log('我会飞');

        }
        swim() {
            console.log('我会游泳！');

        }
    }
    const p = new Person2()
    p.fly()
    p.swim()
})()